Einführung
Dokumentenautomatisierung erfordert nicht immer Cloud-basierte Lösungen – manchmal sind die effektivsten Workflows jene, die lokal auf Ihrem Rechner laufen. In diesem Tutorial zeigen wir, wie Sie ein automatisiertes Rechnungsgenerierungssystem mithilfe von n8n, einem leistungsstarken Workflow-Automatisierungstool, in Kombination mit DocuGenerate erstellen, um professionelle PDF-Rechnungen zu erzeugen.
Der Workflow, den wir erstellen werden, ist unkompliziert und dennoch leistungsstark. Er überwacht einen bestimmten Ordner auf Ihrem lokalen Rechner auf neue Excel-Dateien mit Rechnungsdaten. Wenn eine Datei erscheint, liest der Workflow die Daten automatisch aus, generiert für jede Zeile eine separate Rechnung und speichert die fertigen PDF-Dokumente in einem Ausgabeordner. Dieser Ansatz ist besonders nützlich für Unternehmen, die Rechnungen lokal verarbeiten und die vollständige Kontrolle über ihre Daten behalten müssen.
In dieser Anleitung werden wir jeden Knoten im n8n-Workflow durchgehen und seinen Zweck und seine Konfiguration erläutern. Am Ende dieses Tutorials verfügen Sie über ein vollständig funktionsfähiges lokales Rechnungsgenerierungssystem, das Sie an Ihre spezifischen Anforderungen anpassen können.
Vorlage Einrichten
Bevor wir den n8n-Workflow aufbauen, müssen wir unsere Rechnungsvorlage vorbereiten. Die Vorlagenbibliothek von DocuGenerate enthält eine gebrauchsfertige Repair Invoice-Vorlage, die sich perfekt für dieses Tutorial eignet. Mehr über die Verwendung von Vorlagen aus der Bibliothek erfahren Sie in unserem vorherigen Leitfaden.
Die Vorlage enthält Merge-Tags wie Invoice No, Customer Name, Product Name und andere gängige Rechnungsfelder. Diese Merge-Tags werden während des Dokumentgenerierungsprozesses automatisch durch tatsächliche Daten aus der Excel-Datei ersetzt. Die Vorlage enthält außerdem eine Beispiel-Excel-Datei mit zehn Zeilen Rechnungsdaten, die wir zur Demonstration des Workflows verwenden.

Nachdem Sie die Vorlage aus der Bibliothek heruntergeladen haben, laden Sie die Datei Repair Invoice.docx in Ihr DocuGenerate-Konto hoch. Mit der fertigen Vorlage können wir uns nun dem Aufbau des n8n-Workflows widmen, der den gesamten Rechnungsgenerierungsprozess automatisiert.
Workflow-Überblick
Der Workflow, den wir erstellen, besteht aus mehreren miteinander verbundenen Knoten, die zusammenarbeiten, um auf Dateien zu überwachen, Daten zu verarbeiten, Dokumente zu generieren und die Ergebnisse auf der Festplatte zu speichern. So sieht der vollständige Workflow in n8n aus:

Der Workflow beginnt mit einem Trigger, der einen lokalen Ordner auf neue Dateien überwacht. Wenn eine Excel-Datei hinzugefügt wird, überprüft der Workflow die Dateiendung, liest den Dateiinhalt, extrahiert die Daten in strukturierte Zeilen und durchläuft dann jede Zeile, um eine individuelle Rechnung zu generieren. Jede generierte Rechnung wird heruntergeladen und in einem bestimmten Ausgabeordner auf Ihrem lokalen Rechner gespeichert. Dieser gesamte Prozess läuft automatisch ab, ohne dass nach der Konfiguration ein manueller Eingriff erforderlich ist.
Wenn Sie diesen Workflow direkt in Ihre n8n-Instanz importieren möchten, können Sie die Workflow-JSON-Datei herunterladen und importieren. Dies kann Zeit sparen und sicherstellen, dass alle Knoten korrekt konfiguriert sind. Sehen wir uns nun jeden Knoten im Detail an, um zu verstehen, wie der Workflow funktioniert.
Lokaler Datei-Trigger Konfigurieren
Der Workflow beginnt mit dem Local File Trigger-Knoten, der einen bestimmten Ordner auf Ihrem Computer auf neue Dateien überwacht. Dieser Trigger ist der Einstiegspunkt für den gesamten Automatisierungsprozess. Für dieses Tutorial überwachen wir den Ordner /Users/docugenerate/n8n/Data, aber Sie können ihn auf jedes Verzeichnis auf Ihrem System konfigurieren, in dem Sie Excel-Dateien ablegen möchten.

Der Trigger ist so konfiguriert, dass er das File Added-Ereignis erkennt, d.h. er wird aktiviert, wenn eine neue Datei im überwachten Ordner erscheint. Dies ist ideal für Batch-Verarbeitungsszenarien, bei denen Sie im Laufe des Tages mehrere Excel-Dateien in einen Ordner ablegen und diese automatisch verarbeiten lassen möchten. Der Trigger erfasst den Dateipfad und übergibt ihn an den nächsten Knoten im Workflow.
Für dieses Beispiel verwenden wir die Repair Invoice.xlsx-Datei aus der Beispielvorlage, die zehn Zeilen Rechnungsdaten enthält. Jede Zeile stellt eine separate Rechnung mit Details wie Rechnungsnummer, Kundeninformationen, Servicebeschreibungen und Beträgen dar.
Dateiendung Prüfen
Nachdem der Trigger eine neue Datei erkannt hat, müssen wir überprüfen, ob es sich tatsächlich um eine Excel-Datei handelt, bevor wir versuchen, sie zu verarbeiten. Der If-Knoten dient diesem Zweck, indem er prüft, ob der Dateipfad mit der .xlsx-Erweiterung endet. Dieser Validierungsschritt verhindert Fehler, die auftreten könnten, wenn jemand versehentlich einen anderen Dateityp in den überwachten Ordner ablegt.

Wenn die Bedingung wahr ist, fährt der Workflow mit dem nächsten Schritt fort. Wenn sie falsch ist, stoppt der Workflow und verhindert so eine unnötige Verarbeitung inkompatibler Dateien. Diese einfache Prüfung erhöht die Robustheit des Workflows und stellt sicher, dass nur gültige Excel-Dateien verarbeitet werden.
Datei von Disk Lesen
Sobald wir bestätigt haben, dass die Datei eine Excel-Tabelle ist, ruft der Read File from Disk-Knoten den tatsächlichen Dateiinhalt von Ihrem lokalen Rechner ab. Dieser Knoten verwendet den vom Trigger bereitgestellten Dateipfad, um die Binärdaten der Excel-Datei zu finden und zu lesen.

Die Konfiguration ist unkompliziert. Der Parameter File(s) Selector ist auf {{ $json.path }} gesetzt, was auf den vom Trigger erfassten Pfad verweist. Im Abschnitt Optionen geben wir data als Namen des binären Ausgabefelds an, in dem der Dateiinhalt gespeichert wird. Dieser Feldname wird in nachfolgenden Knoten verwendet, um auf die Dateidaten zuzugreifen.
Es ist wichtig zu beachten, dass dieser Knoten mit Dateien auf demselben Computer arbeitet, auf dem n8n läuft. Wenn Sie Dateien zwischen verschiedenen Computern verarbeiten müssen, würden Sie alternative Knoten wie FTP-, HTTP-Request- oder AWS-S3-Knoten benötigen. Für lokale Verarbeitungsszenarien wie unseres bietet dieser Knoten eine einfache und effiziente Lösung.
Da der Dateiinhalt nun als Binärdaten verfügbar ist, müssen wir ihn in ein strukturiertes Format konvertieren, das vom Workflow verarbeitet werden kann. Der Extract from File-Knoten übernimmt diese Transformation, indem er die Excel-Datei analysiert und jede Zeile in ein separates Datenelement umwandelt.

Der Knoten ist mit der Operation Extract from XLSX konfiguriert, und das Input Binary Field ist auf data gesetzt, was dem Feldnamen entspricht, den wir im vorherigen Knoten angegeben haben. Dieser Schritt ist wesentlich, da er die rohen Binärdateidaten in strukturierte JSON-Objekte umwandelt, die die Rechnungsinformationen aus jeder Zeile enthalten. Diese strukturierten Datenelemente können nun einzeln verarbeitet werden, um Rechnungen zu generieren.
Elemente Durchlaufen
Da wir nun die strukturierten Datenelemente aus der Excel-Datei haben, müssen wir jedes einzeln verarbeiten, um eine separate Rechnung zu generieren. Der Loop Over Items-Knoten ermöglicht dies, indem er die Elemente in Batches durchläuft. Für diesen Workflow verwenden wir eine Batch-Größe von eins, was bedeutet, dass jede Rechnung generiert und gespeichert wird, bevor zur nächsten übergegangen wird.

Dieser Batch-Ansatz ist besonders nützlich für die Dokumentgenerierung, da er sicherstellt, dass jede Rechnung vollständig verarbeitet wird, bevor die nächste beginnt. Er hilft auch bei der Verwaltung von Systemressourcen bei größeren Datensätzen. Die Schleife läuft weiter, bis alle Elemente verarbeitet wurden, wobei der Workflow dieselbe Abfolge von Knoten für jeden Rechnungsdatensatz ausführt.
Dokument Generieren
Der Generate Document-Knoten nimmt die Daten aus jeder Zeile und führt sie mit der Vorlage zusammen, um eine PDF-Rechnung zu erstellen. Um diesen Knoten zu verwenden, müssen Sie den DocuGenerate-Knoten in Ihrer n8n-Instanz installieren.

Die Knotenkonfiguration erfordert mehrere Parameter:
- Template Name or ID ist auf
Repair Invoice gesetzt, was der Vorlage entspricht, die wir zuvor hochgeladen haben. - Name verwendet einen Ausdruck
Invoice no {{ $json['Invoice No'] }}, um jedes Dokument dynamisch basierend auf der Rechnungsnummer aus den Daten zu benennen. - Format ist auf
PDF (.pdf) gesetzt, um PDF-Dokumente zu generieren. - Data ist mit
{{ $json }} konfiguriert, was das gesamte aktuelle Datenelement an die Dokumentgenerierungs-API übergibt. Das bedeutet, dass alle Felder aus der Excel-Zeile für Merge-Tags in der Vorlage verfügbar sind.
Die API verarbeitet diese Anfrage und gibt eine Antwort zurück, die ein document_uri-Feld enthält, das auf das generierte Dokument verweist.
Datei von URL Herunterladen
Nachdem DocuGenerate die Rechnung erstellt hat, ruft Get File from URL den generierten integrierten HTTP Request-Knoten verwendet, um die generierte PDF von der im vorherigen Schritt bereitgestellten URL abzurufen.

Der URL-Parameter ist auf {{ $json.document_uri }} gesetzt, das auf die Dokument-URL verweist, die vom Generate Document-Knoten zurückgegeben wurde. Im Optionsbereich ist das Response Format als File konfiguriert, um sicherzustellen, dass die Daten als Binärinhalt und nicht als Text behandelt werden. Die Option Put Output in Field ist auf data gesetzt und speichert den PDF-Inhalt in einem Feld, auf das der nächste Knoten zugreifen kann.
Für dieses Beispiel hat das generierte Dokument den Dateinamen Invoice no 58-223-0655.pdf, der dynamisch basierend auf der Rechnungsnummer in der ersten Zeile unserer Beispieldaten erstellt wurde. Jede nachfolgende Rechnung erhält ihren eigenen eindeutigen Dateinamen nach demselben Muster.
Rechnung Speichern
Der letzte Schritt im Workflow speichert die generierte Rechnungs-PDF in einem bestimmten Ordner auf Ihrem lokalen Rechner. Der Write File to Disk-Knoten übernimmt diesen Vorgang und speichert jede fertige Rechnung dort, wo Sie leicht darauf zugreifen können.

Der Parameter File Path and Name ist mit /Users/docugenerate/n8n/Invoices/{{ $data.filename }} konfiguriert, was einen Basispfad mit dem dynamischen Dateinamen aus dem generierten Dokument kombiniert. Das Input Binary Field ist auf data gesetzt, das den PDF-Inhalt enthält, der im vorherigen Schritt abgerufen wurde.
Diese Konfiguration speichert alle Rechnungen im selben Ordner, aber Sie können dies weiter anpassen. Beispielsweise könnten Sie Rechnungen nach Datum organisieren oder nach Kundenname gruppieren. Die Flexibilität von n8n-Ausdrücken ermöglicht es Ihnen, jede Ordnerstruktur zu erstellen, die Ihren Geschäftsanforderungen entspricht. Beachten Sie, dass dieser Knoten für die Arbeit mit Dateien auf demselben Computer ausgelegt ist, auf dem n8n läuft.
Workflow Ausführen
Mit allen konfigurierten Knoten ist der Workflow bereit, Rechnungen automatisch zu verarbeiten. Zum Testen fügen Sie einfach die Repair Invoice.xlsx-Datei in den Data-Ordner ein, den der Trigger überwacht. Der Workflow erkennt die neue Datei sofort und beginnt mit der Verarbeitung.

Die obige Animation zeigt den Loop Over Items-Abschnitt in Aktion, der alle zehn Datenelemente aus der Excel-Datei durchläuft. Für jedes Element generiert der Workflow eine Rechnung mithilfe der Vorlage und der Daten, lädt die PDF herunter und speichert sie im Zielordner. Sie können den Fortschritt in Echtzeit über die visuelle Oberfläche von n8n verfolgen, die exzellente Sichtbarkeit in jeden Schritt des Prozesses bietet.

Sobald der Workflow abgeschlossen ist, wurden alle zehn Rechnungen generiert und im Invoices-Ordner gespeichert. Dieser automatisierte Ansatz eliminiert die Notwendigkeit manueller Dokumenterstellung, spart erheblich Zeit und reduziert das Fehlerpotenzial, das bei manueller Dateneingabe auftreten kann.
Fazit
Der Aufbau lokaler Automatisierungs-Workflows mit n8n und DocuGenerate bietet eine leistungsstarke Lösung für Unternehmen, die Dokumente effizient verarbeiten und dabei die vollständige Kontrolle über ihre Daten behalten müssen. Der von uns erstellte Workflow demonstriert, wie einfach es ist, Ordner zu überwachen, Dateien zu validieren, Daten zu extrahieren und professionelle Dokumente zu generieren, ohne auf Cloud-Dienste oder komplexe Integrationen angewiesen zu sein.
Dieser Ansatz ist besonders wertvoll in Szenarien, in denen Datenschutz an erster Stelle steht, die Internetverbindung begrenzt ist oder Sie einfach Ihre Dokumentenverarbeitungspipeline lokal halten möchten. Die Flexibilität von n8n ermöglicht es Ihnen, diesen Workflow auf zahlreiche Weisen zu erweitern. Sie könnten E-Mail-Benachrichtigungen hinzufügen, wenn Rechnungen generiert werden, Sicherungskopien erstellen oder mit Ihren bestehenden Geschäftssystemen integrieren.
Der von uns erstellte Workflow verarbeitet Reparaturrechnungen, aber dasselbe Muster kann auf jeden von DocuGenerate unterstützten Dokumenttyp angewendet werden. Ob Sie Verträge, Briefe, Zertifikate oder Berichte generieren müssen – der Kern-Workflow bleibt derselbe. Sie müssen lediglich die Vorlage anpassen und sicherstellen, dass Ihre Excel-Daten mit den Merge-Tags in Ihrer gewählten Vorlage übereinstimmen.
Ressourcen